<%-- 
  -- Body List para User.
  --
  -- @author nicolas.gonzalez
--%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/displaytag-el.tld" prefix="display" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%-- Librerias para EXT library --%>
<link rel="stylesheet" type="text/css" href="<html:rewrite page='/protected/script/ext-1.1.1/resources/css/ext-all.css'/>" />
<link rel="stylesheet" type="text/css" href="<html:rewrite page='/protected/script/ext-1.1.1/resources/css/xtheme-default.css'/>" />

<script src="<html:rewrite page='/protected/script/ext-1.1.1/adapter/ext/ext-base.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ext-1.1.1/ext-all.js'/>" type="text/javascript"></script>

<script type="text/javascript">
   /** Lleva a la modificacion de usuario. Se necesita solo el nombre de usuario */
    function modifyUser(name) {
        var hiddenName = $("modifyNameId");
        hiddenName.value = name;
        
        var form = $("modifyUserFormId");
        form.submit();
    } 

    /** Modifica un usuario. Se necesita solo el nombre de usuario */
    function preDeleteUser(name) {
        // Deja el nombre de usuario a borrar en un hidden
        var localHiddenNameObj = $("localNameToDeleteId");
        localHiddenNameObj.value = name;

        Ext.MessageBox.confirm('Confirm', 'Seguro de eliminar el usuario ' + name + ' ?', postDeleteUser);
    }
    
   /** Post invocacion de la eliminacion de usuario. */    
    var postDeleteUser = function(btn)  {
        var localHiddenNameObj = $("localNameToDeleteId");
        if (btn == "yes") {
            // Se quiere eliminar efectivamente
            var deleteHiddenObj = $("deleteNameId");
            deleteHiddenObj.value = localHiddenNameObj.value;            
            
            var form = $("deleteUserFormId");
            form.submit();
        }
        else {
            localHiddenNameObj.value = "";
        }
    }
</script>

<%-- El ID del form NO debe ser modificado. Se usa desde el menu --%>
<html:form action="/protected/listUsers.do" styleId="userFormId">
    <%-- Inyectados por Javascript --%>
    <html:hidden name="userForm" property="name" styleId="nameId" value=""/>
    <%-- No pertenece al form de Struts. Se carga cada vez q se selecciona un usuario a eliminar --%>
    <input type="hidden" id="localNameToDeleteId" value="" >
    
    <h2>Usuarios</h2>

    <bean:define id="users" name="userForm" property="users" />
    <display:table name="pageScope.users" sort="list" export="true" pagesize="15" requestURI="/protected/listUsers.do" id="row" class="displayTable">
    
        <%-- TODO Ver si puede o no borrar y con previa confirmacion obviamente --%>
        <display:column title="Eliminar" class="columnGifLink" media="html">
            <img src="<html:rewrite page='/protected/img/trashcan_full.png'/>" alt="" name="submitButton" onclick="preDeleteUser('<bean:write name="row" property="name" />')" title="Elimina el usuario...">
        </display:column>

        <display:column title="Ver/Editar" class="columnGifLink" media="html">
            <img src="<html:rewrite page='/protected/img/kedit.png'/>" alt="" name="submitB" onclick="modifyUser('<bean:write name="row" property="name" />')" title="Modifica el usuario...">
        </display:column>

        <display:column title="Usuario" property="name" sortable="true" />
        <display:column title="Nombre" property="realName" sortable="true" />
        <display:column title="Apellido" property="surname" sortable="true" />

    </display:table>    

</html:form>

<%-- Inyectados por Javascript --%>
<div id="modifyDivId" class="hideClass">
    <html:form action="/protected/showUser" styleId="modifyUserFormId">
        <html:hidden property="name" value="" styleId="modifyNameId" />
    </html:form>
</div>

<%-- Inyectados por Javascript --%>
<div id="deleteDivId" class="hideClass">
    <html:form action="/protected/deleteUser" styleId="deleteUserFormId">
        <html:hidden property="name" value="" styleId="deleteNameId" />
    </html:form>
</div>